package com.awaken.content.service.dubbo;

import com.awaken.content.models.dto.CartDTO;
import com.awaken.content.models.request.CartRequest;
import java.util.List;

/**
 * 购物车Dubbo服务接口
 *
 * @author awaken-lin
 */
public interface CartDubboService {
    
    /**
     * 添加商品到购物车
     */
    CartDTO addToCart(CartRequest request);
    
    /**
     * 从购物车移除商品
     */
    boolean removeFromCart(Long userId, Long productId);
    
    /**
     * 更新购物车商品数量
     */
    CartDTO updateCartQuantity(Long userId, Long productId, Integer quantity);
    
    /**
     * 获取用户购物车列表
     */
    List<CartDTO> getUserCart(Long userId);
    
    /**
     * 清空用户购物车
     */
    boolean clearUserCart(Long userId);
    
    /**
     * 选择/取消选择购物车商品
     */
    boolean toggleCartItemSelected(Long userId, Long productId);
} 